A wide variety of different types of storage systems are known. For example, some storage systems are configured to include multiple storage tiers, with different ones of the tiers providing different levels of performance or other characteristics. In such storage systems, data may be moved from one tier to another within a given storage system based on access frequency of the data or other factors. These and other types of tiered or non-tiered storage systems may be shared by multiple host devices of a compute cluster. However, problems can arise in such arrangements when a host device attempts to perform load balancing across multiple ports of a storage array or other storage system that is shared with other host devices. For example, in some implementations there may be hundreds of different host devices which share the same storage system, making it very difficult for any particular host device to balance input-output (IO) processing load in an effective manner across multiple ports of the storage system. Also, the IO processing load experienced by different ports of the storage system can change very quickly due to varying conditions, in some cases due to temporary spikes or surges in IO processing demand from different host devices. In these and other situations, use of conventional load balancing arrangements can lead to sub-optimal performance.